"""
生成器：语法升级形式的迭代器
    ~ 函数 + yield
    ~ 生成器表达式
"""


def fib(num):
    a, b = 0, 1
    for _ in range(num):
        a, b = b, a + b
        yield a


# 调用生成器函数返回的是一个生成器对象
gen = fib(20)
print(type(gen))
print(next(gen))
print(next(gen))
print('-' * 50)
for value in gen:
    print(value)
